

#pragma once
typedef struct UcCell
{
    int     mnRow;
    int     mnColumn;

} UcCell;

typedef UcArray<UcCell> UcCellArray;

typedef struct UcCellRange
{
    int     mnTopRow;
    int     mnLeftColumn;
    int     mnBottomRow;
    int     mnRightColumn;

	UcCellRange() : mnTopRow(-1)
		, mnLeftColumn(-1)
		, mnBottomRow(-1)
		, mnRightColumn(-1) {}

	bool operator ==(const UcCellRange& range) const
	{
		return (mnTopRow      == range.mnTopRow &&
			mnLeftColumn  == range.mnLeftColumn &&
			mnBottomRow   == range.mnBottomRow &&
			mnRightColumn == range.mnRightColumn);
	}

	bool operator !=(const UcCellRange& range) const
	{
		return !(mnTopRow      == range.mnTopRow &&
			mnLeftColumn  == range.mnLeftColumn &&
			mnBottomRow   == range.mnBottomRow &&
			mnRightColumn == range.mnRightColumn);
	}
} UcCellRange;

typedef UcArray<UcCellRange> UcCellRangeArray;
